home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 332_01 / readme.now < prev    next >
Text File  |  1990-01-12  |  18KB  |  362 lines

  1.                PCCURSES v.1.4 Release Notes - 900114
  2.     ===================================================
  3.  
  4.   This is the release note for the fifth version of PCcurses, v.1.4.
  5. Below this note, the release notes for v.1.0 - v.1.3 are included. Read
  6. those first.
  7.  
  8.   In PCcurses v.1.4, both portability improvements and bugfixes have
  9. been made. The files have been changed to allow lint-free compilation
  10. with MicroSoft 'C' v.5.1, and with Turbo 'C' v.2.0. The source should
  11. still compile without problems on older compilers, although this has
  12. not been verified.
  13.  
  14.   The makefiles have been changed to suit both the public release and
  15. the author, who maintains a special kind of libraries for himself. In
  16. the case of MicroSoft 'C', changes were done in the makefile to lower
  17. the warning level to 2 (was 3). This was to avoid ANSI warnings which
  18. are abundant because PCcurses does not attempt to follow strict ANSI
  19. 'C' standard.
  20.  
  21.   BUG FIXES FROM V.1.3 TO V.1.4:
  22.  
  23.   !!!IMPORTANT CHANGE!!!
  24.  
  25.   The definitions for OK and ERR in curses.h were exchanged. This was
  26. done to be more consistent with UNIX versions. Also, it permits func-
  27. tions like newwin() and subwin() to return 0 (=NULL) when they fail
  28. due to memory shortage. This incompatibility with UNIX curses was
  29. pointed out by Fred C. Smith. If you have tested success/failure by
  30. comparisons to anything other than ERR and OK, your applications will
  31. need to be be changed on that point. Sorry... but presumably most of
  32. you used the symbolic constants?
  33.  
  34.   (END OF IMPORTANT CHANGE)
  35.  
  36.   Fred also pointed out a bug in the file update.c. The bug caused the
  37. first character printed after 'unauthorized' screen changes (like du-
  38. ring a shell escape, for example) to be placed at the wrong screen posi-
  39. tion. This happened even if the normal precautions (clear / touch / re-
  40. fresh) were taken. The problem has now been fixed.
  41.  
  42.   PCcurses is currently also being used on a 68000 system with hard-
  43. coded ESCape sequences for ANSI terminals. However, int's used by the
  44. 68000 C compiler are 32 bits. Therefore int's have been turned into
  45. short's wherever possible in the code (otherwise all window structures
  46. occupy twice as much space as required on the 68000). This does not
  47. affect PC versions since normally both int's and short's are 16 bits
  48. for PC C compilers.
  49.  
  50.   At some places in the source code there are references made to the
  51. 68000 version. There are also a makefile, a curses68.c file, and a
  52. curses68.cmd file. These are for making, low-level I/O, and linking
  53. commands when building the 68000 version. These files are probably
  54. useful to no-one but the author, since it is very specific for it's
  55. special hardware environment. Still in an effort to keep all curses-
  56. related sources in one place they are included. Note however that
  57. PCcurses will not officially support a non-PC environment.
  58.  
  59.   The file cursesio.c, which was included in the package at revision
  60. level 1.2, and which was to be an alternative to the cursesio.asm
  61. file, has been verified to behave incorrectly in the function
  62. _curseskeytst(). The problem was that the value of 'cflag' does not
  63. contain the proper data for the test that is attempted. Furthermore,
  64. neither Turbo'C' or MicroSoft'C' allows any way to return the data
  65. that is needed, and consequently you should not use cursesio.c. The
  66. best solution is to simply use the ASM version. In v.1.2 and v.1.3,
  67. the user could edit the makefile to select which version he wanted to
  68. use. The makefiles in v.1.4 have removed this possiblity forcing the
  69. use of the ASM file, and cursesio.c has been dropped from the distri-
  70. bution.
  71.  
  72.   A bug in the wgetstr() function caused PCcurses to echo characters
  73. when reading a keyboard string, even if the echo had been turned off.
  74. Thanks to Per Foreby at Lund University, Sweden, for this. Per also
  75. reported bugs concerning the handling of characters with bit 8 set.
  76. Their ASCII code were considered as lower than 32, so they were
  77. erased etc. like control characters, i.e. erasing two character posi-
  78. tions. The control character test was changed to cope with this.
  79.  
  80.   The overlay() and overwrite() functions were changed so that the
  81. overlaying window is positioned at it's 'own' coordinates inside the
  82. underlying window (it used to be at the underlying window's [0,0]
  83. position). There is some controversy about this - the documentation
  84. for different curses versions say different things. I think the
  85. choice made is the most reasonable.
  86.  
  87.   The border() and wborder() functions were changed to actually draw
  88. a border, since this seems to be the correct behaviour of these func-
  89. tions. They used to just set the border characters to be used by
  90. box(). These functions are  not present in standard BSD UNIX curses.
  91.  
  92.   The subwin() function previously did not allow the subwindow to be
  93. as big as the original window in which it was created. This has now
  94. been fixed. There was also the problem that the default size (set by
  95. specifying numlines or numcols (or both) as 0 made the resulting
  96. actual size 1 line/column too small.
  97.  
  98.   There were a few spelling errors in function names, both in the
  99. function declarations and in curses.h. This was reported by Carlos
  100. Amaral at INESC in Portugal. Thanks! There was also an unnecessary
  101. (but harmless) parameter in a function call at one place.
  102.  
  103.  
  104.  
  105.                PCCURSES v.1.3 Release Notes - 881005
  106.     ===================================================
  107.  
  108.   This is the release note for the fourth version of PCcurses, v.1.3.
  109. Below this note, the release notes for v.1.0, v.1.1 and v.1.2 are in-
  110. cluded. Read those first.
  111.  
  112.   The file 'border.c' is now included. It allows you to explicitely speci-
  113. fy what characters should be used as box borders when the box() functions
  114. are called. If the new border characters are non-0, they override the bor-
  115. der characters specified in the box() call. In my understanding, this func-
  116. tionality is required for AT&T UNIX sV.3 compatibility. Thanks for this
  117. goes to Tony L. Hansen (hansen@pegasus.UUCP) for posting an article about
  118. it on UseNet (newsgroup comp.unix.questions; his posting was not related
  119. at all to PCcurses).
  120.  
  121.   The only other difference between v.1.2 and v.1.3 is that the latter has
  122. been changed to avoid warning diagnostics if the source files are compiled
  123. with warning switches on (for MicroSoft this means '-W3', for Turbo'C' it
  124. means '-w -w-pro'). Of these, the Turbo'C' warning check is clearly to be
  125. used rather than MicroSoft, even if neither of them comes even close to a
  126. real UNIX 'lint'. Some of the warnings in fact indicated real bugs, mostly
  127. functions that did not return correct return values or types.
  128.  
  129.   The makefiles for both MSC and TRC have been modified to produce warning
  130. messages as part of normal compilation.
  131.  
  132.  
  133.  
  134.  
  135.                PCCURSES v.1.2 Release Notes - 881002
  136.     ===================================================
  137.  
  138.   This is the release note for the third version of PCcurses, v.1.2.
  139. Below this note, the release notes for v.1.0 and v.1.1 are included. Read
  140. those first.
  141.  
  142.   The changes from v.1.1 to v.1.2 are minor. The biggest change is that there
  143. was a bug related to limiting the cursor movement if the application tried to
  144. move it outside the screen (something that should not be done anyway). Such
  145. erronous application behaviour is now handled appropriately.
  146.  
  147.   All modules have been changed to have a revison string in them, which makes
  148. it easier to determine what version is linked into a program (or what library
  149. version you have).
  150.  
  151.   There is now a 'cursesio.c' file. That file does the same as 'cursesio.asm'
  152. (i.e. it provides the interface to the lower-level system I/O routines). It
  153. is written in 'C' and thus it is (possibly) more portable than the assembler
  154. version (but still not so portable since it uses 8086 INT XX calls directly).
  155. When one creates new curses libraries, one chooses whether to use the assem-
  156. bler or the 'C' version of cursesio. The choice is made by commenting out the
  157. appropriate dependencies for cursesio.obj, near the end of the makefiles.
  158.  
  159.   There is now a 'setmode.c' file. T